package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用于存储产品信息的对象 hmz_product
 *
 * @author ruoyi
 * @date 2023-11-10
 */
@Data
public class HmzProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 产品唯一标识符 */
    private Long id;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;
    private String createByName;

    /** 仓库唯一标识符 */

    private Long warehouseId;
    @Excel(name = "仓库")
    private String warehouseIdNmae;

    /** 产品编号 */
    @Excel(name = "产品编号")
    private String productNumber;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specificationModel;

    /** RFID编号 */
    @Excel(name = "RFID编号")
    private String rfidNumber;

    /** 生成日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date manufacturingDate;

    /** 使用说明 */
    @Excel(name = "使用说明")
    private String usageInstructions;

    /** 保质期 */
    @Excel(name = "保质期")
    private String shelfLife;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 资产状态（未入库，在库，已领用） */
    @Excel(name = "资产状态", readConverterExp = "未=入库，在库，已领用")
    private String productStatus;

    /** 发卡状态（未发卡，已发卡） */
    @Excel(name = "发卡状态", readConverterExp = "未=发卡，已发卡")
    private String fkStatus;
    @Excel(name = "备注")
    private String remarks;
    //盘点状态
    private String inventoryStatus;
    /**
     * 产品类别id
     */
    private Long productTypeId;
    @Excel(name = "类别")
    private String productTypeIdName;
    private String url;


    /** 图片 */
    @Excel(name = "图片", cellType = Excel.ColumnType.IMAGE)
    private String image;

    /** 总登记号 */
    @Excel(name = "总登记号")
    private String registrationNumber;

    /** 分类号 */
    @Excel(name = "分类号")
    private String categoryNumber;

    /** 年代 */
    @Excel(name = "年代")
    private String era;

    /** 数量 */
    @Excel(name = "数量")
    private Long quantity;

    /** 完残程度 */
    @Excel(name = "完残程度")
    private String completeness;

    /** 藏品级别 */
    @Excel(name = "藏品级别")
    private String collectionLevel;

    /** 方位 */
    @Excel(name = "方位")
    private String orientation;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String approvalStatus;

    /** 审核人 */
    @Excel(name = "审核人")
    private String approver;
    private String approverName;
    private int isApprover;

    /** 藏品状态 */
    @Excel(name = "藏品状态")
    private String collectionStatus;

    /** 质地 */
    @Excel(name = "质地")
    private String material;

    /** 登录人 */
    @Excel(name = "登录人")
    private String loginPerson;
    /**
     * 藏品来源 collection_source
     */
    @Excel(name = "登录人")
    private String collectionSource;
    private String eraName;
    private String completenessName;
    private String collectionLevelName;
    private String collectionSourceName;

}
